A-XLinkTMLManager

一、XLinkTMLManager

物模型相关管理类,处理一些物模型的事件或操作。

  1. 以下方法说明中明确提供不推荐使用的方法,即为不建议开发者调用或者是开发者不应该进行任何数据修改。
  2. 以下文档中未提及的方法均属于不推荐使用的方法

1、Methods

以下方法为开发过程常用的方法说明,参数说明及返回值说明。此处仅提供了推荐开发者使用及可能需要使用的方法,部分未列出方法请根据实际情况评估调用。

1.1、registerTMLReportEventsSubscription

public void registerTMLReportEventsSubscription(List<TMLEventRegisterHolder> holders, int channel)
  • 方法说明

注册物模型上报事件的订阅信息,提供需要注册的事件信息及需要注册的渠道(本地或云端),SDK将会注册相关的事件主题并在事件上报时通过XLinkTMLEventListener回调通知外部,回调事件请参考XLinkConfig.Builder中相关的接口监听。注意如果需要同时监听本地与云端的事件,需要分开不同的channel进行注册。

  1. ==注意事件注册时并不保证一定会注册成功,有可能是不合法的事件或者是不同法的设备信息导致的==。默认情况下,本地的注册一般都会成功(但是实际会不会收到事件由具体的环境而定,如果事件注册成功但是设备不在同一局域网中或设备不上报事件,依然不会有任何事件),云端注册取决于事件、设备合法性以前网络状态。
  2. 注册的事件在云端断开后重连时会默认自动尝试重新注册,注册结果将在回调中返回
  3. 一旦用户退出登录或者是SDK反初始化(重新初始化),所有的缓存数据会被清除掉,所有注册过的事件也会被清除掉
  4. 事件允许反复注册(但注册成功时实际后面的注册操作都不会生效)
  • 参数说明:
参数名 类型 说明
holders List<TMLEventRegisterHolder> 需要注册订阅的事件信息
channel int 注册的渠道信息来源是本地或云端,枚举信息以XLinkConstant中的渠道来源为准

对于TMLEventRegisterHolder参数,该参数的基本结构如下,该参数包含了设备信息(mac与产品ID),关联的事件名称。用于向SDK中注册某设备相关的事件。

class TMLEventRegisterHolder{
  public String getMac();
  public String getPid();
  public String getEventName();
}
  • 示例说明:
    //订阅多渠道的事件
    List<TMLEventRegisterHolder> holders=xxx;
    //本地监听事件
    XLinkTMLManager.registerTMLReportEventsSubscription(holders,XLinkConstant.CHANNEL_LOCAL);
    //云端监听事件
    XLinkTMLManager.registerTMLReportEventsSubscription(holders,XLinkConstant.CHANNEL_CLOUD);

1.2、unregisterTMLReportEventsSubscription

public void unregisterTMLReportEventsSubscription(List<TMLEventRegisterHolder> holders, int channel)
  • 方法说明

registerTMLReportEventsSubscription方法作用相反,一般注册与反注册需要成对存在。

1.3、checkTMLReportEventIfSubscribed

public Collection<TMLEventRegisterHolder> checkTMLReportEventIfSubscribed(Collection<TMLEventRegisterHolder> holders, int channel);
  • 方法说明:

给定事件注册对象列表,返回该列表中已经被注册的事件对象。用于判断某些事件是否已经被成功注册。此方法可以在注册状态回调时调用,确认事件是否有被注册成功,也可以在任意地方查询某个事件是否有被注册成功。

二、更新日志

日期 更新内容
2021-07-28 新增物模型管理
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题